As information technology has developed, the amount of data in storage has increased dramatically. Storage systems have developed from simple solutions that serve a single machine to vast storage repositories that provide storage for large networks of computers. These storage systems often continue to grow over time, with new data and/or data structures being added constantly.
This evolution of storage systems has precipitated a parallel development in the logic used to retrieve the data therein. One such strategy involves storing data in data tables. These tables can be developed in such a way as to organize an object together with information regarding the object. Further, relationships can be established between the tables. Information from these tables can then be retrieved using a query having a predefined structure, which conforms to the organizational structure of the tables.